草庐IT

TypeScript 条件语句

全部标签

javascript - 类型 'querySelector' 上不存在属性 'Node'。在 typescript 中

我有以下代码:测试.html和ts文件test.tsvarbox=document.querySelector('#box');console.log(box.parentNode.querySelector('#box'));我得到了错误。Error:(2,28)TS2339:Property'querySelector'doesnotexistontype'Node'.我在MDN中找到了下面这句话parentNode是当前节点的父节点。元素的父级是Element节点、Document节点或DocumentFragment节点。这是我的测试varul=document.querySe

javascript - 在 Grails 的 JavaScript 源代码中执行 groovy 语句

在Grails中基本上有2个地方可以定义JavaScript函数,直接在GSP上的一个元素中,以及在/web-app/js下的一个单独的javascript源文件中(例如,application.js)。我们在application.js中定义了一个常用的javascript函数,但我们还需要能够使用groovy代码动态生成部分函数。不幸的是,${somegroovycode}似乎没有在单独的javascript源文件中处理。是通过在GSP页面上的脚本标记内定义javascript函数来实现此目的的唯一方法,还是有更通用的解决方案?显然,我们可以在模板GSP文件中的脚本标记中定义jav

javascript - 我怎样才能只保留符合特定条件的数组项?

我有一个数组,我想过滤它以仅包含符合特定条件的项目。这可以用JavaScript完成吗?一些例子:[1,2,3,4,5,6,7,8]//Ionlywant[2,4,6,8],i.e.theevennumbers["This","is","an","array","with","several","strings","making","up","a","sentence."]//Ionlywantwordswith2orfewerletters:["is","an","up","a"][true,false,4,0,"abc","","0"]//Onlykeeptruthyvalues:

javascript - 在 TypeScript 中,如何将 bool 值转换为数字,例如 0 或 1

众所周知,类型转换在TypeScript中称为断言类型。以及以下代码部分://thevariablewillchangetotrueatonetimeletisPlay:boolean=false;letactions:string[]=['stop','play'];letaction:string=actions[isPlay];编译时出错Error:(56,35)TS2352:Neithertype'boolean'nortype'number'isassignabletotheother.然后我尝试使用any类型:letaction:string=actions[isPlay]

javascript - 替换 typescript 中字符串中的所有字符实例?

我正在尝试用x字符替换电子邮件中的所有句号-例如“my.email@email.com”将变为“myxemail@emailxcom”。电子邮件设置为字符串。我的问题是它不只是替换句号,而是替换每个字符,所以我只得到一串x。我只需一个句号就可以让它工作,所以我假设我在全局实例部分是错误的。这是我的代码:letre=".";letnew=email.replace(/re/gi,"x");我也试过re=/./gi;new=email.replace(re,"x");如果有人能阐明我真的很感激,我已经坚持了很长时间,似乎无法弄清楚我哪里出错了。**编辑:糟糕,我的新变量实际上叫做newem

javascript - switch 语句中的 bool 运算符?

有什么方法可以在句法上使用switch来实现吗?switch(i){case('foo'||'bar'):alert('fooorbar');break;default:alert('notfooorbar');} 最佳答案 switch(i){case'foo':case'bar':alert('fooorbar');break;case'other':default:alert('other');}注意:“其他”不是必需的,我只是展示您也可以使用默认值堆叠案例。 关于javascri

javascript - 从符合条件的列表中选择对象

假设我有以下包含三个对象的javascript对象:varlist=[{age:5},{age:10},{age:15}];有没有办法使用JavaScript和JQuery根据年龄选择元素子集?例如:$.select(list,element.age>=10); 最佳答案 Isthereawayofselectingasubsetofelementsbasedonage…是的。…usingJavaScript…Arrayfiltermethod:list.filter(function(element){returnelement.

模板字符串中的 Javascript 条件

有没有办法在模板字符串中进行条件处理?例如:letx,y;x=...y=...lettemplateString=`${x}${y}`;如果y未定义,我不希望输出x之后模板字符串中的空格。我如何使用模板字符串实现这一点?这是唯一的方法吗?lettemplateString=`${x}${y?''+y:''}`; 最佳答案 关于letx,y;consttemplateString=[x,y].filter(a=>a).join('');它的作用是首先将您的属性放入数组[]。然后它过滤未定义的项目。最后,它通过使用带空格的join创建数

javascript - angular.js ng-repeat - 检查条件是否为真然后使用另一个集合

我想知道是否可以检查ng-repeat中使用的集合?例如,在我的Controller中,我从服务器获取了2个数据数组,现在我使用ng-switch在它们之间切换,检查这个jsbin-http://jsbin.com/diyefevi/1/edit?html,js,output问题是我的实际应用程序中的这些liView很大但非常相似..所以我真的很想使用1ng-repeat共2个。所以我想知道像ng-repeat="bookiniflist==='adultBooks'adultBookselsechildBooks"这样的东西在Angular中是否可行?谢谢!

javascript - typescript 可选扩展接口(interface)

我有两个接口(interface),其中一个扩展了另一个。但是,我希望能够扩展第一个interface并使其所有类型成为可选的。我不想重写第一个interface的所有定义,使其在我的第二个interface中成为可选的(因为在那个时候扩展有什么好处?)或重新定义第一个interface因为它正在别处使用。它的样子:interfaceFirst{type1:stringtype2:string}//Seeminglypointlessrewrite(whywouldIevenneedtoextend?)interfaceSecondextendsFirst{type1?:stringt